package com.googlecode.jtoy.jee.jaxb.test.entity;

import java.util.Date;
import java.util.List;

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

import com.googlecode.jtoy.jee.jaxb.adapter.DateAdapter;

/**
 * 编排关系发布
 * 
 * @author shangxj
 * @date 2011-1-7 下午11:57:57
 */
@XmlRootElement(name = "contentCatalogNotify")
public class NotifyInfo {

	public static final byte OPFLAG_ADD = (byte) 1;
	public static final byte OPFLAG_UPDATE = (byte) 2;
	public static final byte OPFLAG_DELETE = (byte) 3;

	@XmlAttribute(name = "StreamingNo", required = true)
	@XmlSchemaType(name = "string16")
	private String streamingNo;

	@XmlJavaTypeAdapter(DateAdapter.class)
	@XmlAttribute(name = "TimeStamp", required = true)
	@XmlSchemaType(name = "datetime14")
	private Date timeStamp;

	@XmlAttribute(name = "OPFlag", required = true)
	@XmlSchemaType(name = "enum123")
	private byte opFlag;

	@XmlElement(name = "catalogSiteInfo", required = false)
	private List<SiteInfo> sites;

	@XmlElement(name = "catalogTemplateInfo", required = false)
	private List<TemplateInfo> templates;

	@XmlElement(name = "catalogFolderInfo", required = false)
	private List<FolderInfo> folders;

	@XmlTransient
	private String serviceType;

	public NotifyInfo() {

	}

	/**
	 * (getter for streamingNo)
	 */
	public String getStreamingNo() {

		return streamingNo;
	}

	/**
	 * (setter for streamingNo)
	 */
	public void setStreamingNo(String streamingNo) {

		this.streamingNo = streamingNo;
	}

	/**
	 * (getter for timeStamp)
	 */
	public Date getTimeStamp() {

		return timeStamp;
	}

	/**
	 * (setter for timeStamp)
	 */
	public void setTimeStamp(Date timeStamp) {

		this.timeStamp = timeStamp;
	}

	/**
	 * (getter for opFlag)
	 */
	public byte getOpFlag() {

		return opFlag;
	}

	/**
	 * (setter for opFlag)
	 */
	public void setOpFlag(byte opFlag) {

		this.opFlag = opFlag;
	}

	/**
	 * (setter for sites)
	 */
	public void setSites(List<SiteInfo> sites) {

		this.sites = sites;
	}

	/**
	 * (getter for sites)
	 */
	public List<SiteInfo> getSites() {

		return sites;
	}

	/**
	 * (setter for templates)
	 */
	public void setTemplates(List<TemplateInfo> templates) {

		this.templates = templates;
	}

	/**
	 * (getter for templates)
	 */
	public List<TemplateInfo> getTemplates() {

		return templates;
	}

	/**
	 * (setter for folders)
	 */
	public void setFolders(List<FolderInfo> folders) {

		this.folders = folders;
	}

	/**
	 * (getter for folders)
	 */
	public List<FolderInfo> getFolders() {

		return folders;
	}

	/**
	 * (setter for serviceType)
	 */
	public void setServiceType(String serviceType) {

		this.serviceType = serviceType;
	}

	/**
	 * (getter for serviceType)
	 */
	public String getServiceType() {

		return serviceType;
	}

}
